{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([[-0.017612, 14.053064],\n",
       "        [-1.395634,  4.662541],\n",
       "        [-0.752157,  6.53862 ],\n",
       "        [-1.322371,  7.152853],\n",
       "        [ 0.423363, 11.054677]]),\n",
       " array([-1.,  1., -1., -1., -1.]))"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import sympy as sp\n",
    "\n",
    "\n",
    "#加载数据\n",
    "def load_data():\n",
    "    with open('简单分类数据.txt') as fr:\n",
    "        lines = fr.readlines()\n",
    "\n",
    "    x = np.empty((len(lines), 2), dtype=float)\n",
    "    y = np.empty(len(lines), dtype=float)\n",
    "\n",
    "    for i in range(len(lines)):\n",
    "        line = lines[i].strip().split('\\t')\n",
    "        x[i] = line[:2]\n",
    "        y[i] = line[2]\n",
    "\n",
    "    return x, y\n",
    "\n",
    "\n",
    "x, y = load_data()\n",
    "x[:5], y[:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "N, M = x.shape\n",
    "w0, w1, b = sp.symbols('w0 w1 b')\n",
    "subs = {w0: 1.0, w1: 1.0, b: 0.0}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "\n",
    "#把线画出来,线就是wx + b = 0\n",
    "def draw():\n",
    "    X = np.arange(x[:, 0].min(), x[:, 0].max(), 1)\n",
    "    Y = np.empty([len(X)])\n",
    "    for i in range(len(X)):\n",
    "        Y[i] = (-subs[w0] * X[i] - subs[b]) / subs[w1]\n",
    "\n",
    "    plt.scatter(x[:, 0], x[:, 1], c=y)\n",
    "    plt.plot(X, Y)\n",
    "\n",
    "    plt.show()\n",
    "\n",
    "\n",
    "draw()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "loss = 0\n",
    "for i in range(N):\n",
    "    z = w0 * x[i, 0] + w1 * x[i, 1] + b\n",
    "    p = 1 / (1 + sp.exp(-z))\n",
    "    d = 1 if y[i] == 1 else 0\n",
    "    loss += d * sp.log(p) + (1 - d) * sp.log(1 - p)\n",
    "\n",
    "#化简公式\n",
    "loss = sp.cancel(loss)\n",
    "#loss"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "#获取导数公式\n",
    "d_w0 = loss.diff(w0)\n",
    "d_w1 = loss.diff(w1)\n",
    "d_b = loss.diff(b)\n",
    "\n",
    "#d_w0, d_w1, d_b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(-19.325197886112118, -510.0095875187354, -33.27040236836179)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#计算导数\n",
    "def get_subs():\n",
    "\n",
    "    sub_w0 = d_w0.subs(subs)\n",
    "    sub_w1 = d_w1.subs(subs)\n",
    "    sub_b = d_b.subs(subs)\n",
    "\n",
    "    return float(sub_w0), float(sub_w1), float(sub_b)\n",
    "\n",
    "\n",
    "get_subs()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-273.863226149265\n",
      "-45.1934938125887\n",
      "-30.6662585987019\n",
      "-24.9696691216943\n",
      "-21.9588107525608\n",
      "-20.0585123409757\n",
      "-18.7260675405119\n",
      "-17.7266225395058\n",
      "-16.9413925478587\n",
      "-16.3033762301199\n"
     ]
    }
   ],
   "source": [
    "#慢慢调整w和b\n",
    "for i in range(100):\n",
    "    sub_w0, sub_w1, sub_b = get_subs()\n",
    "\n",
    "    subs[w0] += sub_w0 * 1e-3\n",
    "    subs[w1] += sub_w1 * 1e-3\n",
    "    subs[b] += sub_b * 1e-2\n",
    "\n",
    "    if i % 10 == 0:\n",
    "        print(loss.subs(subs))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD4CAYAAADvsV2wAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOydd3hUVdrAf+/0ySSBUAMiolIVQQVE7BUR2669r2Jfy1o/Xduu3V1de3ftFXXtolixYMWGKCBNkV4S0iZT7/v9cSchyUz6ZCbl/J4nD5lz7z3nvSF577lvFVXFYDAYDJ0fR7YFMBgMBkNmMArfYDAYughG4RsMBkMXwSh8g8Fg6CIYhW8wGAxdBFe2BWiIXr166aBBg7IthsFgMHQYvv3223Wq2jvVsXat8AcNGsSsWbOyLYbBYDB0GETk9/qOGZOOwWAwdBGMwjcYDIYuQpMVvog8KiJrRGROjbF/ishyEfkh8TW5nmsnich8EVkoIpelQ3CDwWAwNI/m7PAfByalGL9dVbdNfE2re1BEnMC9wP7AVsAxIrJVS4Q1GAwGQ8tpssJX1U+AohassQOwUFUXq2oEeB44pAXzGAxdklg0xi9f/sqv3y7Csqxsi2PowKQjSuccETkRmAVcpKrFdY5vAvxR4/MyYHx9k4nI6cDpAAMHDkyDeAZDx+Wb6T9w07F3EI9ZqCqBbjlc+9qlDNl+i2yLZuiAtNZpez+wJbAtsBL4T4pzJMVYvSU6VfUhVR2rqmN7904ZSmowdAnWLlvPNYfdSllxBcGySirLQ6xbXsT/7XMt4cpwtsUzdEBapfBVdbWqxlXVAh7GNt/UZRmwaY3PA4AVrVnXYOgKvPfUx1jxeNJ4PB7ni9dNfoqh+bRK4YtIvxof/wzMSXHaN8AQEdlcRDzA0cDrrVnXYOgKbFhTQjQcSxqPx+KUri/PgkSGjk5zwjKfA74AhonIMhE5Bfi3iPwkIrOBPYELEuf2F5FpAKoaA84BpgNzgRdU9ec034fB0OkYs88o/Lm+FEeEUbubQDdD82my01ZVj0kx/Eg9564AJtf4PA1ICtk0GAz1M3bStgwZswXzv1lEOGjb7H0BL7sfMYFBW2/ayNUGQzLtupaOwdCVcTqd3Dz9SqY/NoMPnv4El9fFAaftw+5H7pRt0QwdFGnPPW3Hjh2rpniaoaNTur6M1++fzuyPf2HTYf3507n7s+mwTbItlqGTIiLfqurYVMfMDt9gaEPWLV/PWWMuJVgaJBKKMvvjn3n38Rlc89qlbL/3NtkWz9DFMMXTDIY25Il/TKWsqIxIKApAPGYRCob5z6n30Z7frg2dE7PDNxjSjKry06dz+enTuXzy0pfEY8nlEIpXl1C0agM9+xVkQcLalBWXEw6G6dm/ByKp8iQNnQWj8A2GNBKPxbnqkH/x0ye/EKmMYNWzi1dL8QW8GZauNhvWlvCvE+7mxxk/Iw6he9/uXPLoX9l2z5FZlcvQdhiTjsGQRt5+5ENmf/wLoYowlqUpi4i43E7GThxNID8n8wImUFUu2+96fvhoDtFIjEgoyprf13LlQTezfOHKrMllaFuMwjcY0sj0xz6sjpmviz/XizfHy+DtNueSx8/OsGS1WfDdYpYvWEksWrt0Qywa47V738mSVIa2xph0DIYM4M3xMuWG4xi9x1Zsvs1m2RaHNUvX4XAm7/fi0TgrFqzKgkSGTGB2+AZDGtnv5L3w5iTb5vMKAhx89n7tQtkDDNl+C6KR5Do9Xr+HUXuYsg2dFaPwDYY0sv8pezFqtxH4Al7EIfgCXnLy/Fz14kU4HO3nz63vZr3Z65hdaj2cnC4nge4BJp+6T1rXUlUTgtpOMJm2BkOaqQ7L/GQuBX27sfuREwh0C2RbrCQsy+KNB97l1bvfprKskh0PHMuJ/zyCHoXpCRUtLSrj3vMe45OXvsCKW4yZOJrz7j2VwkF90jK/ITUNZdoahW8wGNKOZVmcse3FLPt1JbGE6cjhEPJ75fHkwnvw5/qzLGHnpSGF337eMQ0GQ6fhh49+ZvVva6uVPYBlKaGKMB8881kWJevaGIVvMBjSzh/zlhOPJXfrClWEWTLn9yxIZACj8A2GTo9lWSz68TeWzFmaMefpZlsNwOlyJo37Al62HL15RmQwJGPi8A2GTsycz+Zy3VG3U1lWiarSrVc+/3z5EgZv17ZKd/QeW9Nvy778MXd5dfinw+kgJ8/Pnsfs3Kq54/E4n7z4Je8//QlOl4NJJ+/FhIPHmjpATcA4bQ2GTkrJulKO3+JsQuWhWuOB7jk898eD+AOp2iemj/INFTxw0RPMmPo5kXAEr9dDJByl3+Z9mHLjsex2+IRmz6mqXHPYLXz73mxCFRu7gO117C5c8OCZ6b6FDolx2hoMXZAPn/0MK55cqdOKWcx85es2Xz+3e4CLH/krFzx0Bh6vm1AwjBW3WL5wFf8+6R4+fvGLZs85+5Nfail7sP0CHzz9KUvmLE2n+J2S5jQxf1RE1ojInBpjt4jIPBGZLSKviEj3eq79LdHs/AcRMVt2g6GZzP9mIeftdDmTPEdxWO8pPH39S8TjyU7RmhSt2kCkMpI0Ho1EKV5d0laiJvHo358lHKwtRzgY4ZHLn2n2XLOm/1hL2VdhWRbfvTe7xTJ2FZqzw38cmFRn7D1gpKqOAn4F/t7A9Xuq6rb1vWoYDIbU/D53GRfv9U/mfrmAeMyidH0Zz9/8Cnef/d8Grxu1+1b4cpPNNi63i1G7jWgrcWuhqqz5Y13KY6t/W9vs+fJ6BHB73UnjTreT3IL2l9zW3miywlfVT4CiOmPvqmpVoO2XwIA0ymYwGIDHr3ouaVcbDkZ494mPKV1fVu91Y/YdxdAxW+DN8VSPeXO8jNl3FMPGDW4zeWsiIvTapEfKY70H9Gz2fHsduysOZ7JzVhB2OXR8s+fraqTThj8FeLueYwq8KyLfisjpDU0iIqeLyCwRmbV2bfN3AIbssuaPdTx4yZNctOc/uO/8x1i5ZHW2RerQxONxvnzj25THXB4nKxbVX9nS4XBw8/QrOe1fxzNkzBYMHz+Es+88matevKitxE3JX649KqmgnDfHw0nXH93suXr178FVUy8kJ89PTr79lVsQ4Po3/57V/gIdhWZF6YjIIOBNVR1ZZ/wKYCxwqKaYUET6q+oKEemDbQY6N/HG0CAmSqdj8dvPf/C3na8gEooQi8RxuZ24vW7+M+Mahmy/RbbF65B8+96PXHHATSmTmBxOB4/8fDs/fPQzFSVBxuw7qs3DLVvK249+wBNXT2X9imJ6bdKDk284hokn7tHi+SKhCHNmzsfpdLD1zsNwuU2EeRVpq6WTSuGLyF+AM4G9VTXYhDn+CZSr6q2NnWsUfsfikn2u4YcP5ySNDx8/hLu/uDELEnV83nn0Q+459xHCKZyvPfsXUFESRNVuXOJyO9njyJ246JG/ttuYdMuy2lXV0M5Im4Vlisgk4FLg4PqUvYgERCSv6ntgIpCsFQwdnjmfzks5Pv/rhVhWcnigoXGG7ZDa1u50OSgrriBUESYcDBOPxgkHI3z84hd88Ub73SQZZZ9dmhOW+RzwBTBMRJaJyCnAPUAe8F4i5PKBxLn9RWRa4tK+wGci8iPwNfCWqpoeap0QX27qptwen7vd7jjnf7OQe857hDvPeogfPprT7uq2bz5yIOP2366W49XlcdG9Tzdc7uTSBaGKMO8+MSODEho6Ek02fKnqMSmGH6nn3BXA5MT3i4HRLZLO0KE48IyJvHznW7Vivz0+N5NO2atdKvynrn2Rqf9+lUgoCqq8//Qn7HnMLlzw4BntSt4rn7+AV+95m7cefI9IKMpuR+zIiB2HceuUe1Oer1b7emgZ2g/G02FIGyf+8wiWL1zJV29+i9vrJhqOsv0+ozj93ye0yXqRUISiVRtwOB2UF1fQb8u+TS4XsHLxap6/+RVb2ScIVYT58NnPmHTynmw1YVibyNwSnC4nh51/IIedf2D1WCQUsWPf6uALeNn3xN0zKJ1NNBLli9dn8cf8FfTfsi9rlq7jq2nf0aNfAX86Z39G7jw84zIZkjEK35A23B43V79wEat+W8Mf85YzYGh/+m3RN+3rqCpPXvMCL976OtFwDCtu4fK4cDodHHP5oRx7+aGN7tC/fvv7lOPhyjCfv/ZNu1L4qfD4PFzx/AVce8StqKVEIzG8fg8TDh7LToeMy6gs61YU8bedrqCsqJzKihCCoCgoiMCXb8zizNtO4sDT982oXIZkjMI3pJ3CQX3atI3dy3e8xUu3vlErXT8WiREDnr/pFfpu1pt9jt+twTm8fg8OZ7ILy+ly4g2k9kW0N3bYfzueWnQvM6Z+bodlThzN8B0GZ9wcdddZD7N+RRHxmO2Y1xqvHqp2ktgDFz7B3sft2uYF2wwNY1zmhnZFKBhmxtSZvPHAuyxbsDLlOVP//SqhYHI9larrn7/5lUbX2elP41Laup0uJ3sds0vzhM4iBX278+fzJnP8VYczYvyQjCt7y7L4+u3vqpV9fTjdThZ+tyRDUhnqw+zwDe2GuV8t4O+TrseyLKyYhaoy+bR9+OsdJ9dSZCXr6i8nADSpMFh+jzyunHoh1x99u52qrxCPxTnnrilsMrhfq+/FUBsrGievR262xejyGIVvaBfEY3GuOugmKkpqp3O88+iHjJ04mvEHjKke22zrASyZnboUrogwcpemOQh3PHAML6x8mK+n2TvUcZO2Jb9nXstvogvicDgYO2k7vnn7+5SlmMHOCC7cog+Dtt40w9IZ6mJMOoZ2wc+fzycSjiWNhyrCTPvvB7XGzrrtpFpx6VWIQ/Dleply47GA/RBZu2w94crU5h+AnDw/exy1M3sft2tGlX0oGObHGT/z67eLmh37H4/F+eSlL/jXX+7mgYue4Pe5y9pIyqZx/v2n0aNfAf5EZU6Xxwli/2x9AS8DhvbnhjcbKqRryBRmh29oF8QiMeozP0fD0Vqft9trG/793tU88Y+pLPh+CagdjrjtniM57srD2GRwP16/7x0eveI5YtEYKBx4xr6c9u8TUvZZzTTvP/MJd575EA6nA7WU/F553PDW5Ww2ovFis9FIlEv3vY4F3y0hVBHC4RReuWsabq8bt9fFnkfvzCk3HkugW+ZKBffapCdPLLibz1/9mj/mr2DQyIGM2m0Ei374jfxeeWw5elC7ymvoypgWh4Z2QbgyzBF9T6WyTjs+X8DL3+4/vdGom5p8/MLn3DLlPsI1HLveHA8H/3U/Tv/3iWmTuSUs+el3zp1wea0IIxEoKCzg2aX343Q2/EB657GPuPe8R1I2AQE7C3fA0H488P0tjc5l6JyYFoeGdo/X7+WSx8/B6/fYJgHAl+tj5C7D2fPo5jW9fuq6l2ope7BDA1+/712ikWg9V2WGNx98j2gd05UqhMpDzP74l0avnzF1Zr3KHuw3pdW/rWXW9B9bLauh82FMOoZ2w66HjmfI9rfz7hMzKF1XyvgDxjBm4uhmF9xat3x9ynErHidYWkm3Xskdkxrj91/+4L9/f5afZ86joG83jr70z+xzwm7NNlUUrdqQ2rkpULq+vNHr/Sk6WNUlEoqwZPbvjJ+8fcrjS+ct562H3mPd8iJ22H879jx6Zzy+ZJ+IofNhFL6h3RCNROkzsBcn/uPIVs0zZPstUpZpDnQLtCg0cNmvKzh3x8sJVYRQhbKicu46+2HWLF3LcVce3qy5djp4HLOm/5C0S4+GY2yza+PRRQecvm/K62vi8XvoP7gw5bGZr37NTcfdSSwaIx6z+Hrad/zv9je58/MbTFJUF8CYdAxZZ/43Czlr7P9xQM5xHJR7PLef+WC9iVVN4dSbjkvZYen0W05oUXneZ274H+HKCDXdXaGKMM/d/CqVFaH6L0zB7kftxKbD+teKMvIFvBx5ycH0KCxo9PqxE0dz6PkH4Pa58QW8UOcFw+F0EOiWw4SDk024sWiMW06+l3BlpDpRKlQRZvnClbxx/7vNug9Dx8Ts8A1ZZeXi1Vy89zWEEs7aSCjK+09+zNql67hx2hUtmnPYuMHc9vE1PHbl8yz8fjF9N+vDCf84ol4TR2P88sWvKc0wDqewaskaNh85sMHr58ycx2v3vkPJ2lJ2OmQcN02/io+nfs6MqTMJdM/h4LP2Y9yk7Zosz8nXHcOBZ0zkh4/mEIvE+OCZT5nzmd2LYLu9RnLhf8/C7Uk2Wy364beU2cWRyigzps7kyIsPbrIMho6JUfiGrPLynW8lhV1GQlF+nPEzyxasZMCQlmW9Dh2zJTe9Xf8DY83StcyY+jmhYJjxB4xh2Ngt6z23/+BCVixM7h0bi8bp2a/hXflr977Nw5c+TSTxhvDLF/N588H3uPvLGzn4r/s1/Ybq0HtAT/Y9wa6Kuf8pexNJ/Aw93vr9E76At97kqJw8f4tlyQaqStGqDeTk+fDndizZs4kx6RiyypKflhKPJvdrdXvdKZVsOvjg2U85ecT5PHbV8zx93UtctMc/uOOsh+pNgBqSok+sOIRdDx3fYLJWRWmQh//vacLBjeagcDDCqiWrmf7YR2m5lyo8XneDyh5g4IgB9N60Z5Kj2RfwcsjZk9IqT1vy1VvfcuzAMzlhy7M5rNcUrj/mdoJlldkWq0NgFL4hqwwbNxi3J/lFMxqOstlWjSciNZfyDRXcdtoDRCojxCIx1FLCwTAfPP0JP874Oen8ipIK/nfHW0njDocw4aCUoc7VzP96Ycrm2uFghM9e/qrlN9FCRIRrX7+MXpv0wJ/nw5/nw+Nzc8Bp+7DLoeMzLk9LWPj9Eq476jbWLS8iGooSjcT4/NWvue7I/2RbtA6BMekYssqfz9uftx56j1g0Vr0Lrqrr3nez3mlfb9b0H3C6kvc54WCYD5/7jG33HFlr/IePfsbldhKps4GMxyw+e/kr9jiq/hyBQPcA8RS9fEWgW6/s1OwZMKQfTy25l9kf/0Lx6hJG7jKcPpv2yoosLeGFW1+v1bQG7Ain2R//wurf17bJ70xnojk9bR8VkTUiMqfGWA8ReU9EFiT+TWnQFJFJIjJfRBaKyGXpENzQOei1SU/u+uJGxu63HR6fh2698znykoO59Mlz22Q9cThICm2xj+BMUR/fXY+ZRMQOf2yIoWO2oEdhd8RRez2P38sh5+zfVJHTjtPpZLu9tmGvY3bpUMoeYPmvK1I6nt1eN2uWrsuCRB2L5uzwH8duWv5kjbHLgA9U9eaEIr8MuLTmRSLiBO4F9gWWAd+IyOuq2nhaoaFLMHD4Jtw47fKMrDV2v9EpHZcev4e9U5Rv2HavkSmTqzx+L5Om7NXgWiLCTW9fwWX7Xc+GNSWIQ4hF4ky54WhG7bZVy28iBV+99S2v3fcOFSWV7HHkBCaftg9ef8do5NIcttltBItn/06sjt8nGo6y2dbpNwF2NprTxPwTERlUZ/gQYI/E908AM6ij8IEdgIWJZuaIyPOJ64zCN2ScQH4Of3/6PG487k5EwIpZiNPBIWfvl7Lvqsfr5trXLuXKg24CwIpbqKUcduGBTVLa/bcs5IkFd/PrrEWUFpWz1Y5DGixsFiyrZP2KInpv2gtfTtMU9qNXPssrd06rTsZa9MMSpj8+g7u+uLFRR25H4/ALD2L64zMIlgSxEjt9X8DLQWdNJL+HKW3dGM0qnpZQ+G+q6sjE5w2q2r3G8WJVLahzzeHAJFU9NfH5BGC8qp7T2HqmeJqhrdiwtoRP//cV4WCYHSZvz8DhmzR4fmVFiC/f+JbKskrGTByddltxPB7ngQufYNrD7+N0ObESD5WTrjmqwfIN61cWc+KWZyfZtX0BL+fecyoT/7JHWuVsD6xcvJrHrnqO7z/4ibweeRx+4UHsf8pepiJngoaKp2XCaZvqf6Hep4yInA6cDjBwYMMJLQZDS+neuxsHnTmxyef7A75mF3FrDk/+80XefuSDhOK2lffLt71JQZ9u/KkBe/+cz+bhcruSFH6oIswXb8zKmMJfs3QtHz0/k4qSIDtM3p6tdxqWpIC/mvYdL932BhvWlDB+8vYcftFBdO/drdlr9duiL5c/c366RO9StDYsc7WI9ANI/LsmxTnLgJqtbgYAK+qbUFUfUtWxqjq2d2/jcc8kpevL+M9p9/Ongr/w554ncfc5/6WiNNj4hYZWoaq8ete0WiWTwW6Sct/fHuWQ7idy6yn3UbKuNOna/J65tZqG12TWuz/y4XOftonMNfn4xS+YMuJ8Hr96Ks/d/Ap/n3Q9N59wV628hhdufZ3rj7qNHz6cw29z/uDlO97izO0uoXR9w+0qDemltQr/deAvie//AryW4pxvgCEisrmIeICjE9cZ2hHRSJRzJ1zO+09+TEVJkPLiCqb99wMu3O1qrBShhYb0EY/Fk/oAVKEKwdJKPnj6E86bcLnd0KUGo3bfipz8nJTNY0LlIW477QFmTJ3ZFmIDts/hlpPvIZzIa0Dtt4vPX/uGr976rvqcJ/8xtVbBt2gkRllROa/cPa3NZDMk05ywzOeAL4BhIrJMRE4Bbgb2FZEF2FE4NyfO7S8i0wBUNQacA0wH5gIvqGpyhoshq3z+2iyKV2+oFf0Qi8RYuXg1375raqu3JS63q97qllXEonGKV5cw89VvqsdUlR8/+pkROw7BX09phHAwwqNXPJdWeWvyw0dzUnYRC1WE+eBZ++3i11mLUr6FREJRvp72fZvJZkimOVE6x9RzaO8U564AJtf4PA0wj/J2zOIff6OyLHmXGQlFWTx7abOKexmaz9l3nsw1h91KuDJS7zmV5SEWz/6d3Y+YgKpW794bKpUMtn29rUiVu1B9zOVEVXnqmheJVCY3nhGB3pv2bDPZDMmY0goGwC4Q5kvRXMPjd9N/cCHxeLxDm3Zi0RjxeHLNnvbCuEnb8e/3r2bsfqPp1jsfRwpF6s/1MWCoXUxu7lcL+Oj5xpU90KbZp9vuNTJlDSJfwMvEE3fnh4/m8Ou3i1Ne6/K6OPyCA9tMNkMyRuEbANj9yJ3w5Xhx1MgKdTgd+AM+XrnzLfb3HsMB/uO44dg7KCtuvDNTe2HxbLuH7GT/sRwYOJ5/nXRPxh3RlmXx7hMzOHfC5Zy+7UU8f/MrKevobzVhGDe9fSXPL3uQXpv0qKX0HU4HvoCP3Q7fEYAv35hFpIG3gSq8OR6m3Hhc+m6m7vx+L1e/eDHeHC++gBe3143H52byqXuz3d7b8N37PxGqp2fATgePY+QuI9pMNkMyppaOAQBfjpe7vriB2069n9mfzEVE2GbX4fz63WLmfDYPVSVmxfjs5a9YOncZD3x3S7uPe163oogLdr2qupJiLBLj46kzWbFwJXd+dkPG5Lj1lPv49KUvq3fjTy14iRkvfM7dX96Ysm69y+3izs9v4PbTH2DWuz+CwrZ7juSCh86ozp715fpwuhxJGadurwtfwEf5hgoKB/XhlBuPZfcjJrTp/Y2dOJrn/niAma98TbC0krGTtq3Oa+jWKw+Pz50yT2CH/VvWn8DQcpqVeJVpTOJVdoiEIiDC6/e+w+NXP58ULujP9XHDW5ezza7te3f2+D+m8sK/X01qGu7N8XLHp9cxOEXZ43Tzx/zlnLndJckKL9fHBQ+ewV7H7NLg9XZROU16MKxcsppTR16YtMv35nh49vcHGizbnEmKVhVz4uBzk5rK5+T5eW7Zgx2uDn9HoKHEK2PSMSTh8XnweN38NmdpkrIHOzpk2a/1plK0G5b89HuSsgdwuhwsX7AyIzL8PHN+Snt8qDzEd+/PbvR6l9uV8i2g3+Z9ueDB0/H4PeTk+cnJ8+PL8XLV1AvbjbIH6FFYwDWvXEJu9wA5+X78eT669c7npneuMMo+CxiTjqFehozdko9f/CKlY3BQI2392gPDxg1m1js/JO2uY9E4g0ZuWs9V6aWgsHvKProuj4veAzZGqJSsK+XJf77AZy9/ZdeoP31fDr/ooJT19KvY5/jdGX/AGL5990ecLidj9xvdLrs/jdl3NC+u/i/zvlqAw+Vk2LgtcTqTQzkNbY8x6RjqpaI0yElDz6N0fVl1hUm3183QsVtw+yfXtXsbfsm6Uk4e8TcqiiuqC215fG5G7zmSG9/KTHXOeCzOsQPPpHh1Sa1oFl+Ol0d+uZ0+A3sTCoY5desLWL+iqNom7/V72G7vbbjudVNN3NA8jEnH0CIC+Tnc+83N7HTIOLx+D4FuOUw+bW9ueufKdq/sAbr1yufer25mx4PG4vV7yO+Zy5/Pm8w/X74kYzI4XU7+M+MaNh3eH2+OB3+uj+598rnm1f+jz0A7XPLDZz6lZF1pLQdsuDLC9x/+xJKffs+YrIbOj9nhGwwZYtmClUQqI2y29YBaJo1/nXQP7z/5cdL5voCXs+86hUkn75lJMbs0FeEY81eXMW9lGfNXlbJgTTlPTtkBVwMJZulENQqRL0ErwLMD4ujR7DmyXS3TYDBgtxdMPV6YMnRRROi7WfM6UqkqxH8H8SDO/i2WtbMTt5Tf11cwf1UZc1eVMW9lKfNWlbG0aGOORq7XxbDCPIqDUXrntX0zGY3OQYumUFUtFY2heRfgCExJ2xpG4RsMWWbSlL2Z+q/XqP5Dx060Kijszug9tm7yPBr5Bt1wEVglgIW6tkC634242r+DvS0pqogwb1Up81aWMW9VKfNXlTF/dRmhqO2Xcghs3ivANpt044gxAxjeL5/hhXkMKPBnzHSpGkWLTgHdUPtA2R2oewziGZ2WdYzCNxiyTM9+BdzywT/414l3s+q3NajCyJ2HcelT56WM8EmFxlejxaeC1ui2HpuPFh0LvWcg0vn/1MOxOIvWVDB/ta3cq3bua8o2Rpn1DHgY3i+P48ZvxvDCPIYX5jOkby4+d5ajhiJfA6kyp8No5fNG4RsMmWDN0rW899QnbFhbytiJoxk3adsmK+HmMGzcYB6deyfFa0pwe1zkdq+/DWIqtPJl0Lq1gizbFhz+FHydxw+gqqwqDSWUemnC3l7GorXlxKqisZwOhvTNZZchvRhRmM/wfrZyz4RppkVoBfX2irLSV8rEKHyDoR6+eutbrjvqNqy4RTQcY/qjHzJs3GBueueKBuPjW0NBn+Z3gAIgvoKUO0S1wErVl6hjUPDbuOkAACAASURBVOVEnZ/YrVft2ktDGxPqNunuZ3hhHvts1YdhhfmMKMxjUK8A7gw5WtOCZwfQ5IqiiB/x7Ze2ZYzCNxhSEI1Euen4u2plGleWh5j39QLef+oTJk3ZK4vSJSOe8WjlG0DdwnAK7vZf2jpuKUuLgtVKff4q24n6+/qN9xPwOBneL58DR/dnRGEew/vlM7RvHt38Hb9Ruzi6o3n/B2W3YD+4LZAccG0DvklpW8cofIMhBfO/Xpiy7G+oIsz7T7c/hY9vIlTcD7GlQJXN2g/e3RH30GxKlkRxRYS5CedptSO1jhN1UK8AI/t34/DtBzCsMI8R/fLZpLu/VjXXzoYjcALq2RYNvghWib2z901Mq//FKHyDIQVOtyulwgc727i9IeKBHlPRiscg9CaIB/zHIDlHZU2mSMxi0dryGhEytnJfXbrRidoj4GFEvzyO3WEzhvfLY0QDTlRVCw2+jAafAg2Cbz8kcBriyM/kbbUp4t4G6bZNm81vFL7BkIJh47bEn+tL6gLmC3iZfGpSk7d2gThykbxzIe/ctM4bj8dZOnc5vhwv/bbom3S8phO1SqnPW5nsRB3cJ5edB9tO1GGFeQzvl0fvXG+TQx+19GoIvbExEqniMTT0NvR8HXHkpO1+OzNG4RsMKXA4HFz72mVcuu+1WJaFFbNQYK/jdmWXQ8dnW7yM8e17P3LzCXcTCobRuEXvof059r4zWed0VycrzVtVRkmNFoZVTtS9R/RheL/0OFE1tgwqX2OjuQogAvG1aOVrSKC+DqyGmrS6tIKIDAOm1hjaArhaVe+occ4ewGvAksTQy6p6bWNzm9IKhmwTrgzz5RvfUrKujG33Glnd2KOzE7eUb2f/wUV/uY+K/DzCvQuI9C4gWrDRfBLwOBM7dVupD0vs3NvCiaqVb6GlVybCF+vg3Q9Hwd1pX7Oj0qalFVR1PrBtYiEnsBx4JcWpn6qqaWBp6FB4/V52P3KnbIvRphRXRGqZYuatKuXX1eVURuOw/65gWbiLy/CuXk/enIXkl1dw8TWHM/ngMZlzojr71HPADc6u8RBOB+k26ewNLFJVU+LPYGhn1HKi1oiQqetEHV6YxzE7DGTJW1+x8LWv8KzfgCO2ManLl+vDU1Ke2YgZ9xhw9IR4CKiZYOZEcow5p6mkW+EfDTxXz7EJIvIjsAK4WFV/TnWSiJwOnA4wcGDXrgHSWVFV5nw2j09f/hK3x83ex+3KFqM2y7ZYnYZqJ2oNpd6QE7WqxEBdJ+p7G9Zy1zMfEIrVzuC1YnG22mlYRu9JxAE9nkKLz4XYfBAnSA7S7d+Iy/zuNJW0lUcWEQ+2Mt9aVVfXOZYPWKpaLiKTgTtVdUhjcxobfudDVbnjzAf58NnPCAfDiMOB2+PipOuO5vALD8q2eB0CjXyNVr4CGifoOIBfi0clSvrW70QdVphnK/ZmOFEj4Sh/HXspKxetqq7k6Qt42f2ICVz86Nlteo8NofFVdlimc5D9IDDUoiEbfjoV/iHA2ao6sQnn/gaMVdV1DZ1nFH7nY85nc/n7/jcktU30+Nw8seBuem3Ss54ruzZVmahzFz/JvOULmLeuN/PX9WNpSU800ceotU5UVU0Kkawsr+TlO9/io+c/xxfwcvBZ+7HPCbu1ST0hQ3rIVD38Y6jHnCMihcBqVVUR2QG709b6NK7d6dH4cgh/Zqdbe/dEHLnZFqlFfPryV4SDyT1yHU4HX7/9Q7uNcW8r1LKLZtWMI09yoq4u49dVZbYTlYE4ZACDuq9lqz7LOXSrbxjeaz0jBl/MgN7Nd6KqWmjFA1DxGGgJ6twSyb8S8e4MgD/Xz3FXHM5xVxyexrs2ZIu0KHwRyQH2Bc6oMXYmgKo+ABwOnCUiMaASOFrbc6utdoZVfg+UPwg4QByAQvf7EG/Hix5xe92Iw4EmeuRWISK4PV0nLURjSwkXXc6i1SuZv76QeUXbMr94PPNWR+p1og7rMZuhgccZ2vMP/O6ahbYEcj7B4Ui5qWtYjrJbIPgMkEgwiy9Ci8+CHk8inm1bd5OGdkda/sJUNQj0rDP2QI3v7wHuScdaXQ2NfA/lD1OdcJJ4TOqGs6HPF4j4siZbS9jn+N149a5phCtrV3a04hYTDm6+wuoIqCqrS8PVpXznrSpm3rLZLCo6kphllxDwOGMM7rGAnbbcjhH9uqV0ompwDlq2MkVVRRdI88opA6gVrK3sqwmh5fcgPf7b/Js1tGu6zpaqg6KV/yP5DxJAbBOPb59Mi9QqBm29KVNuOpb/XvYMTqcDEcGKW1zx/AXNrgHfHglGYvy6urzagTp3pV0YbENwo5Lun68M61nMXpvPZljPlQzvvZLNu6/B7fIj+dch/u1TT+6bCKU3pDjgRPwtSHGx1thvjKnetWMLmj+fod1jFH57R8Ok/otUarbE60gcet4B7Hb4BL55+3vcXjc7HjimTZR9LBrjjQfe5Z1HP0RVmXjiHhx89iQ8aSh+ZlWV860T0/57UZAqY2XA42RoYR77j+zHiEQDjmF988i3HkDLH0yeVCshvqzeNcXRHQruQjf8jepmGRqDbjcgLUk+cva16+UnrwSuzIZddkTUKrczfx19MtYKsbWkLUqnLTBROqChj9CS82u3rgPAi/T5DHG0sGFGJ0dV+fv+NzDns7nVNe29fg9Dxw3mPx/9s1l/oBuCCSdq1a59VU0nKojA5j0DDO+Xx7C++dVVHwcUpC7nq6H30ZKL7dDCmkgO0v0OxLtHw/dmBSHyORAHz86tcuBbZbdBxRPYrrUqfEjPpxH3qBbP25lRqwwtuQzCMwAHOAqQbtcj3t2yLRqQuSgdQ1vg3QM8e0Lko4TSd9lf+VcbZd8AP8+cx88z59VqYBKujLDgu8V8/8FPbL9PsjKLxCwWrytPqvq4qnSjSa0gx83wwnyO3mHT6qqPQ/vm4fc0oyeqdw+7HEDsdzZ2qfKAcyB4dm30cnHkpM2UJ7kXoI7uUPEwWBvANdSO0jHKvl60+CyIfk/1G7a1Ci0+B3q+iLjb95uRUfjtHBGB7rdD5Es09AE4chD/nxDXFtkWrV0z57N5RMPJJq9QeYifPp3HJjsMZW5VolLi30Vry4nG7Tdet1MY3CePCVv2rJWw1Duv6eV860PEBT2eR8vvgMo3AQH/wUjuedjlqDKHiCCBKRCYktF1Oyoa+w2is0k2p0bQ4KNIt39lQaqmYxR+B0BEwDsB8U7Itigdhh79CnD7PETDMSI9uxPuU0CkVwHRwp78KxrgHzd+UH1uv24+hhfmsefwPtVlBrbonb6eqGptgMo3UWsV4h4D3t0QRx6SfxXkX5WWNTKBbf7Vrp3dGl8B4krhVrMg9lsWBGoeRuEb0k5pURkfPPMpa5auY+TOw9nxwDE4XW27c7Us5Y/iIHMTztOfNYdfjz2AcLdc28gOSCSKv6iEyaP6sc3AHnbrvMJ8uuW0XQcrjc5Gi/4CGgdCqOSAczD0fLrDhNSqVYaWXg+ht4AY6h6LdLu2a75luoaBpmgWj8duRN7OMU5bQ1r59dtFXLLXNcRjccKVEfy5PjYZ0o/bPrkWfyA9Cq6mE3X+6jLmrizj19VlBCMbnaiDegYY4HOwdPp36O+r8K7bQB+vg6tfuJBh4wanRY7GUFV03d4pIm+8kHs2jtwzMyJHa1BVdP3hEJvHRjOGgOQhvd9DHAXZFC8rWKXXQ+WLNQIpHCD5SK9piLNXVmUD47Q1ZAhV5YZj7iBYtjHio7I8xNK5y3jx1tc58R9HNmu+Kifq/FVl1Tv3+avKWFmy0YnaPcfNiMJ8jhy7aXXo45C+ueQksnb17F1ZvmAlqsqAof0zGz4X/wPiqcpFhaHyVUih8DW+HC25BiKfAQ7wTUbyr8iegz76I8QXUdtmraARNPgSkntaduTKIpJ3BeocAkG7HAWeXZG889uFsm8Mo/ANaWPN0nWsW16UNB4JRfngmU/rVfiqypqycLUTdX4iYamuE3XL3rnsuIXtRB1WmMeIfvn0acSJKiIMGNq/QblVY6Cl9i5N0vknkSiDkZIUTbqtcns3bRUDifj40FtobK7dtzUbsd7xxfUcCCV2/V0P29F9FASy1yC+pRiFb0gbDqcD6jERVtnwqzJR568qrbVrL66RiVrlRN1jWJ/qXXs6nahVqCpa8ShU3GcnuIkHDZyJBE5Li3IV1wDUOSChNGv+XHyQc0SyPJVvghWkWtkDELXfFCJfgXfHVsvUXNSqTM4XAMAH7pEZl8fQOozCN6SN3gN6MmBof5b8tBRLlWj3PCK9C4j374Vv123Y89YZ/La+ovqZkONxMrRvHpNGFtpZqIma7d1zPBmRV4PPQvldVCcdaQTK70XFhwROTMsaUnA3uv44IJJw9rnAMwbJOS755Ng8aidAVQkaT5hVMqvwNbYUyuoJMxQ/4j8so/IYWo9R+IZWU+VEnb+qDM95h7N85gIqu+dhuRPRL6rk5AUYUZjHIdv2Z3hhPiP65bFpQU5m2+TVpeI+khVsJVTcD+lS+K7B0OdjCL1v165xbwfubVO/QbiGA/5kmcQJzi3TIk9z0OAzQCzFEQfkX4c48lMcM7RnjMI3NJlo3GLx2grmJcwx8xN1ZOo6UUeO25JuwSDdQ2F22m5T9t1rBIE01K9JO1Y9LRmsopTNQFqKiA+aUNxM/AehFXeCFWajWcedyMAdnxZZmkX8D1IqfPEjkqoGT9uh4Zlo2Y0QWwiOHhA4A8n5S4epYdNeMArfkERNJ+r8RMu8hpyoVaaYpjhR2xXOQamdks6BWbkHcQSg5//Q0msg/CngBP9kJO+K7PxMPeMhPJOkNw6NgStz9nuNzLLLGVRVjbXWQ9ntqJYhuedmTI7OgFH4XZzKSJxfV5dV79rrc6IOq+NE3bxXAI+rY2dcSv5laPF51C4/7UPyLs+WSIizP1KQopJmFhD/YbZT24qxMSzTbz+EXAMyJoeW30lyifBKqPgvGjgDu522oSkYhd9FqJmJOr+qMNiqslpOVL/b7omaLSdqphHvHlDwAFp+O8QWg2tzJPeC6vZ+XR1x5EKvV9DyByD0LjgC4D8ByWlePkWriS1MPa6AtQ6cDYfdGjZiFH4npCQY3VinPbFzT5WJOqxvO3OiZgHx7tQhW0VmCnH0QPIvh/y2eetRKwhWETj7IlKPn8e5ZWp/iwCOxpOd7GoCIcDXccyNbYRR+B2YpjpRhxfmVWeiDivMZ2iNTFSDobWoWnYFSS0D93ZNqs+vGrXr81S+nOjT7ERzz8eRIjpK8v6GFp1CLbOO+CFnSqPmHKviOSi/ozqxTnPPRXKO67KKP11NzH8DyoA4EKtbx0Hsn+6dwGQgCJykqt+lY+2uQJUTtVYTjs7oRDV0ODS2CC2aYitUBDSK5l2GI5Aiz6DmdaU3QeUrQHhjTlrZf1BnH8Q3qda54hkHBfehpTfYTnYpgNzTkJyGSzpbwZeg7GY25lkUQ9ktKC4kcHSL7rejk85t3p6qmqpwCMD+wJDE13jg/sS/hjrUdaJW2dtrOlEL830M77fRiTqsMI8teuV2eCdqe0cTiVNdujxwDVQttOhksFZTK5O47F+oeyTiGV3PdWG7+BjhOkcq0fJ7kxQ+gHh3QXq/3bxw2fK7SZ1ncTcYhd+mHAI8qbYx7UsR6S4i/VR1ZYbWb3dUOVFr9kNtyIk6rK/dhKMjO1FVY7a91tG9Q0VWaOR7tPTqRGNvN+r/M5J/eYcpb9xmRL+zzThJ9YLCaPDZehU+Vmn9c8ZXN7hks95WrXrmstamNc+iI5Euha/AuyKiwIOq+lCd45sAf9T4vCwxlqTwReR04HSAgQMHpkm87FLXiVqVlVrTibpZjxyG1chEHV6Yx8AenceJalU8nbClhgEHmnM8kndhxjs8NReNLUGLT6pRCjcMla+g1hqk4IFsipZ9rIQZJwmtP6kNwNETJCfxu1ATgXS2VnQOhPhvKcYHdEllD+lT+Dur6goR6QO8JyLzVPWTGsfr+a1IMWg/LB4Cux5+muTLCDWdqDXt7fU5Uata53V2J6oVfAPKbqHW63XwaVRcSN4FWZOrKWjFoykaXoQhPBONLctoPHq7w7M9aHIbSfAjvv3qvUzEgeb9HUqvZqMjVrBzIC5Km3iS93/ohgupm2dB7v+lbY2ORlq0jKquSPy7RkReAXYAair8ZcCmNT4PAFakY+1soKqsLQszt6oJx6oy5q4qY+GasiQn6vjNe1SbYoYX5tM3vws6USvuJaUtNfiEHTWR1pLEaSb2K3YsQh3EA/Gl0IUVvji6o3nnQ9ld2EpVAT+4Ngf/wQ1e68j5E+rsgZbfC/Hl4N4Gyf0b4h6ePvl8+0D3O9Hy/0Bsqb2zz7sI8e2dtjU6Gq3+SxORAOBQ1bLE9xOBa+uc9jpwjog8j+2sLeko9vsqJ6qt1Eur7e2pnKi7D+2d2LUbJ2ot6rOlasQ2lUheWpbR0HS07Ha776hrEJJ3MeLdrXWTukdB9CeSaspoGFyZL2jW3nAETkHdo+xCa9YG8E5Ccv6MiLfRa8W7W+v/fxpbw7cn4tuzTdfoSKRja9UXeCWxa3UBz6rqOyJyJoCqPgBMww7JXIgdlnlyGtZNK5alLCuurKXU568qY0kKJ+p+WxdWm2M6shM1Y7iGQ/Tb5HFHAUjjMdtNwQq+DqVXUv36HpuHFp8DBXcj3t1bPK8ETkYr/wdawUYrpA98+yPOvq0Vu1MgnnF26KSh3dMle9pWOVGr+qFWKfe6TtThhfkM75dXbY7pTE7UTKKR7+1G3nVtqfnX48hp+NW/SfOromt3S/0m4RqKo9ebrZs/thAtvREis+zyAjknIIHT27cpytBl6bI9baNxiyXrKqpb51XZ21fUcKJ287sZ0a9rOVEzjXi2gx5P2bbU6LyELfU8u5ZNWojateZTEVvS6tnFNRjp8Wir5zEYsk2n02rRuMWlL81m7qoyFq0pJxK363a7HMLgPrnskHCiDivMY0RXdaJmAfGMRno82Uazu0Hy7YbSSVioxlsc/qlWEK18GcIfgbM3knM8Ylr7GToonU7hu50OFq4tp0+el92G9mJEwixjnKidFxFB3WMg8mGKo06IzIQWOAfVqkDXH2Y7gQkBDrRyGpp/LY6cP7VWbIMh43Q6hQ/w+jm7ZFsEQ6apt2qi2GF/LUCDzyaurUoQsoAQlP0T9U8ymbaGDofZ8ho6B87u9RyIgnubls0Zepfkei8ADoj+3LI5DYYsYhS+oXMQnV3PAW15gwxHt3qmjKctd8BgyCSd0qRj6ILE68njkxyIr7UbXzcTCZyIRr+pUUcHwGE/QFxDWiZnM1FViP6Aht8H/Ij/IMS1WUbWNnQ+zA7f0DnwjAVSReJY0EIFKd7dIHA64LUTxCTHDikteCgjkV2qipZejhadBBX/hYr70HUHYgX/1+ZrGzonZodv6BRI4Cw0NB00iO1cBfBD4JwWO1dVo0jgNMg5BiI/2pnB7tGZC+ONfAGhaWysQxSzv0r/ifr2Rhz1+S0MhtSYHb6hUyCugUjPV8C3Pzh6g2trpPu/cOSe1uy5NL4Gq+h0dPUodPVodMP54NoS8Wyb0ZwNDU2rY05KIC4If5YxOToaqopGfkRDH6FWUbbFaVeYHb6h0yCuzZDut7dqDtUYWnR0wieQqJIZ+RpdfyT0/hBx5LRe0Cbjwt6TWcmH2kkfAY0tRStfhPgqxLsr+CZltbmNxpcnunCtARygETRwGo68v2VNpvaE2eEbDDUJfwxWMbVLIlugIQi9nVFRxP9nIJXytMCza0ZlSYWGZ6DrDoSKRyD0GlpyNbr+cDTVW0mmZCo+0y5brUHQciACFY+ioVRJeV0Po/ANhprEf0vR8AQgiMYWZ1QU8YyGwKmA1/6SHMCPdLsDcaSnymhLUY2hG/4POwO5qnR0EGK/oRXPZEem2GKI/U7yG1ElGnwiGyK1O4xJx2CoiWu43dykbicnyUHcIxq9XGOLIfIDOHuDZ6dWt3B05J2H+v9sv3mID3z7IvXlB2SS2HwgVberEITehNxTMy0RWGW2fyNVAWArVZ2lrodR+AZDTTwTwLkpxBaxUaG57Dh+38R6L1O10JJLITQdxAGInZzV42nE1brezOLaFFzHt2qOtCNe0BS+BQDxZ1aWKtwjSK3tvdBAy8WuhDHpdBHUKrIdbJqiXZ+hGhEH0uNZ8B9hV+CUAPgPQnq+1KAzUitfSpRiCCXsxxVgrUE3nIPGV6GVb6Lhme3y56/xdWh0Hqqhxk+uwrklOAtJblftR3KOS6d4TUbEA3nXAD42qjYfOPshOSdkRab2RpdsgNKVUGuD3cg58jXgtHdf+dfh8O+bbdE6Fda6P0HslxRHnNjKx2PrRslBejyJtIP2iGpVoCUXQ/hTEDdgQe75OAJNa0insSVo0fGJ3Ae1S074/4zkX5PVkuMa/QUNPgXx1eDdA/EfhjgCWZMn0zTUAMUo/E6Otf4oiM6htr3Vh/R8HnFvlS2xOh3W2kkQb4pTV+xs3V7vZ0wpangmWn4HxP4A91Ak90LEsy1W8bl2nX9qOKnFj3T7j90AvClzawwin4O1HtxjWm2+MrSehhR+q006IrKpiHwkInNF5GcRSQp4FZE9RKRERH5IfF3d2nUNjaOxxRCdS7JzLYJWmA5OacV3AHY0TWOorRxjc9taIgCsyulo8VkQ/RG0CCJfokUnYoU+Slb2AFqJVjzU5PlFXHYzcv+fjbLvAKTDaRsDLlLV70QkD/hWRN5T1brvt5+q6oFpWM/QVOKr7Vf1JNusBfE/siJSZ0UCJ6Oht8FakTBxeLD/NFI5Nh2Jc9oWVYWyG6ndSxj7c/ntiYiWFCGo8XraRRo6PK1W+Kq6EliZ+L5MROYCmwCpDJqGTOIeXk9MuQc8O2VcnM6MOHKh16sQmoaGPwfnJoADKh4mWeEquEdlQKpw6sbuYPf6lVRvJA7w7timUhmyR1qjdERkELAd8FWKwxNE5EcReVtEtm5gjtNFZJaIzFq7dm06xetyiKMAck4EaobJucCRhwRM1EK6EfEg/j/h6P5vHHl/Q3JPA9eWNcIUnYAP8m/IUPkBTyJZKwXOPpD3d1uealwgASRwTqtXVo2hobexNlyEVXIdGp3X6jkNrSdtTlsRyQU+Bm5Q1ZfrHMsHLFUtF5HJwJ2q2mhBceO0bT2qCqE30IrH7JIB3t2R3L8izr7ZFq1LoBpJ7PpngKM3knMU4hqcsfWt8nug/GE2VtzEfgDlXYUj53A0/IVts4+vAM94JPcMxLlJq9ZUjdr1bGJzEqarRJRS/lU4co5o1dyGxmnzKB0RcQNvAtNV9bYmnP8bMFZV1zV0nlH4BkPjqFUB0e9sRe7erlZ2r6qFlt0OlU+Cqm23zz0byZnSZlFCWmnX1an1kAHAi/T5IutlITo7DSn8Vtvwxf6teQSYW5+yF5FCYLWqqojsgP3IX9/atQ2Gro4V/B+UXpuonqm2Cafg4eqQWxEHkn8RmncuWEXg6Im9P2s7tFYN/xqIGyLfgG/PNl3fUD/piNLZGTgB+ElEfkiMXQ4MBFDVB4DDgbNEJIb9m3C0tucEAIOhA6DR+VB6DXZ2b9VghW1O6fNZLcUu4klkxmYAycXOMqv7J671+xQMGSEdUTqfkZxfXfece4B7WruWoeuhGofo93ZoqXu7LpUx2RgafIGkOHoAonYylHf3TIsEgOQcjYbeJ5VJB8+YbIhkSGCKpxnaLRr9BS0+NdH1SUDjaP41OHL+lG3R2gdaTMo4f1W7cmRLp1W1s4Y1Bq4hiDQvmE8849DcM6D8PsCd2A66kR6PIGJUTjYxP31Du6Q60kOLax8ovRp1b424Gw3y6vSId280/GGKJK4oeHZo0ZwanY9uOBvia0HELh7X/Q7EM65Z8zhy/4r6j4DIV+DIS5SKblvfgaFxTLVMQ/skMpP6zBVa+UKmpWmf+CaCawS18yz8kHsG4uzT7OlUw2jRCXbHKCrtB4m1Fi0+DY03GFCXEnH2RvwHIt7djbJvJ5gdvqF9YpXapokk4na0icFWoj2egMo30dBbILlIztGId0LLJgx9QMqmJhpHK19FstHUxJBWjMI3tE8846ndVzaB5CC+lpd2VqscrA3gLOwU9mQRD+QciuQc2vrJrHXJnb4Au0SDyXrvDBiTjqFdIs6+iX6udcwVrhHgbVrp3pqohrA2XIyu2RFddwC6ZoIdw27YiGcsKVWC5CAt9AkY2hcdf4tj6LQ48v6Gesaiwamg5YjvALv7VAt25lrydwi9T7VfQCuh9BrUWYh4d06v4B0UcW+Fevew++dWh1T6wDUUvHtkTzBD2jAK39CuEe/OrVbIam2A0HskO4FDaMUDRuHXQLrfDpUvo8HngRj4DkECx7W6GbuhfWAUvqHzY61L9AVIVft9eeblSaCqdi/c4ON23Lx3DyT3nBZF2KQLESfkHIGYImedEqPwDZ0f56b1HHCAO2WNqYygZddD5UuJxDKg8iU0/D70essubW0wpBnjtDV0ekS8kHt+jbr0AA67f2vu2VmRSeNrITh1o7IHIAZWGRp8LisyGTo/RuEbugSOwF+QbreAextw9AXf/kjPlxHXZtkRKPYLpGyCEobwlxkXx9A1MCYdQ5dBfBMR38Rsi2Hj6GfXqknCCR2kGbiGZ6AVz4KW2w/QnCMQ8TV+oSFrGIVvyCgbO3A9YidAeXdNOCozVLq3DVBrA1r5KsQWI+7R4J+M1DIfJSPuoahrqL3Tp6bidyM5f2lTedOBVXYbBJ/YaJKKzkErX4aeUzPUvtHQEoxJx5BRtOw2tOQqiM0Fa6UdArjukBbVamkPaHQBunZvKLsNKp9Hy65D1+6Pxhvv7yM9HgbPjoAb8IGjD1Jwd7svDKfx1VDxWB3/QwhiiyH0VtbkMjSOUfiGjKHWBjsEkTqOSq1Ag09mSarWoSWX2SYNQomBIFhr0PJGLIElYQAADftJREFUO30ijgIcPR5F+sxEek1Den+CZKmGfbOIfGu3SkyiEg19lHFxDE3HKPxOjKqi0Xlo5BvUqltCNwtE59fjqIxA5IuMi9Na1Cq331SSOjvFIPRuk+cRR3fENaDZdeezhqNbPQec4OidUVEMzcPY8DspGvsDLT7NNpvgTDQPuRxHzlHZE8rZN3XyE44GYuXbMQ1lnzZSDlg1BJEv7YqgnvGIowO1/vPsaLcq1CC1H3ZuJJu/X4ZG6SBbCkNzUFW0eArEf7PtrFoOVELpDWjkx/StE52LVr6CRr6jKS2KxTXIDoukrjL0IIEpaZMrU4j4wTMBqKv4veA/rN7rNPwpumYCuuFCtOQidO0ErMr32lTWdCLiRHo8AY5NbMUvuXajlG43IO6h2RbP0ABp2eGLyCTgTuzf/P+q6s11jkvi+GQgCJykqt+lY21DCmI/JcrZ1m1/F0aDTyGe0a2aXjWMFp+ZsOUm9gzOgdDjScTRvcFrpeB+dMPFCROOExw5SP41iHtkq2TKFtLtZrTo2ERp4Tgg4B5Zb0KXWsVo8Tkk9XstuQj1vNthopXENRh6f2BHGWkQ3KPsBDdDu6bVCl/sqkr3AvsCy4BvROR1Vf2lxmn7A0MSX+OB+xP/GtoCawOpX940LXXNtfweiMwCwhvf6GOL0JKrkIK7G7xWHN2QHg+jVrFdP8a5SYcuzCXO3tBrut00PL7MLt/sHoW9x0lBaHo9M1kQmgYd6E1HRMC9dbbFMDSDdOzwdwAWqupiABF5HjgEqKnwDwGeVPu9/0sR6S4i/VR1ZRrWN9TFPbqeRhY+8O7d+vmDLwLhOoNRCH+AaqRJcdjiKIBOUi9GxAHeXZp2slZQO+6+iihqlVPPY8JgSAvpsOFvAvxR4/OyxFhzzwFARE4XkVkiMmvtWtNlpyWIoxvknkft5iE+cPZH/IenYYVUjlewt/spulQZNuLZlWSbPyC+jhGSaejQpEPhp9qU1PXgNeUce1D1IVUdq6pje/c2IV4txZF7GlJwH3j3Avd2kPs3pOf/0hMN4t2DlErLNaLRDNOujriHgv/Q2oXcxA/eieAelT3BDF2CdJh0lgE1Y+oGACtacI4hzaSjeUhKfIdB6EPsnX4M8IK4kW43pn+tTojk/wN8+9ilCLAQ3yF2Lfz67P4GQ5pIh8L/BhgiIpsDy4GjgWPrnPM6cE7Cvj8eKDH2+46JVXoLBJ9iow3fAZ6dkG43Is6e2RStwyAi4N0Faard32BIE61W+KoaE5Fz/r+9O4+Rs67jOP7+zM5e3aUUaEFOIVIOgxVDwQtPEGtTqcQj4AGIScWIgokJKgIRRKMkYETCTcRYEAy0EEAsCAoYK0VSzhYkCJbLWqC02713Pv7xTLHHzM7szuw8c3xfyWZnnmcyz2c3s999jt/z/QF/JDnOv9b2k5JOza+/HLiTZEjmsyTDMr9a6XZD7XnkyXyxH9xyaTJChUIXiUMxHvkn3nQZjKyC7GzU+w3UfnDasUKTq8o4fNt3khT1LZddvsVjA+nMNBGqxoN3UfiCrWDoPph2Qq0jNSQPP4pfP5HkKCkHY//CQ3+Bna9GHYenHS80sbjTNkxAG4Wvv4v4KJXPGy8gufFq841xOWAAbzgvvVChJcRfaSibuuazfVsEgBx0Hl3rOI1r5InCy0efxt727ugQqicKfiib2g+A3tOAzvxXV/J9+o/jgu1EaHqR5b2N0zEzNKTolhkmJNO7CHd9KjlnrzboPCZpLxDK13My9F3G1v10umDaV1IKFFpFFPwwYcruDdkT047RsNSzCOfWJi0q1J60wej+NOr9VtrRQpOLgh9CjUkZNP0c3Ht60nCtbc+SXUZDqIYo+KHpONeXdJ7MrYX2Q5Mbw+rw3LgyO44ze1QI1RcFPzQVjzyVjHH3CDCQTNCRPTDp1R/92kOLq7/dngp4bB25N88nt/bj5NYdhwduLWsmptAcbOP1Z4A38NYFUffDyCq86ddVeP9BPPpccgQRQgNqmj1859bj1xZC7g1gFHIv4jfPgZHVaPqZaccLtTD2EowV6sk3CANLoPfrk3pb23jTpbDpKiADHsXdn0XTf4jUNH9CoQU0zR6++xdDbgNbTy4xAP2/xWOvpRUr1JBHVlC8V38F79t/E/RdlZ8feBMwBAO34I0XVX1bIUylpin4DP2N7WdhAtSRzLsZmpo9AhsuKLI2O+6k4iX1X8F2c9AyCAOLsWPCl9A4mqfgZ/ei4I/jUcjsVvM4ocZGHmP7Sdvz1I16Tpr8e+eKHCF6GDxYeF0IdahpCr6mnQxsO5dqFrL7Jy0BQpPLUmQStfyk4qXn2S3+1ocUXp7ZLRkFFEKDaJ6C334QmnExZHYmmcu1AzoORztflXa0UAvt7ypSfLvRtC8kF14H7iD32vHk1i0gt/GSskfbJBf9u9m6U2gXTD87ZqkKDaWphhio66hkvtWxNaAdoqFXC5EysNNl+PWTAefH4Wegez50zsMbfwL9N/HWufjRF/Dg7TBzacl5eNU+B3a5EfddknS6zO6Her8ZvetDw2mqgg8gtUF237RjhHHYOci9kvxTzhTpHDkJap8Dsx6EoXuT4bkd70Pts/HYq9B/A1uP4BmCsVdx/1LUU3riFrUfhHa6tGpZQ0hD0xX8UN88+Ce84WzI9QE53Hkk2vHnVSv8ykyD7gVbLxxZmYzW8rZDNgdg+AEoo+CH0AwqOocv6UJJqyU9JmmJpIIdoCQ9L+lxSSslPVzJNkPj8siTeP13ILeOZF7cYRh6EL8xxbNfZnah8AXdNsjsPrXbDqGOVHrR9m7gENtzgGeA74/z2o/ZPtT23Aq3GRqUN13D9jdGDcPIo3j031O34fbD8hfzt/24t6OeL07ddkOoMxUVfNvLbG++tXU5sFflkULTGl1DwbHyaofcq1O2WSmDdroOsgcAXaAe0I5oxsUo+44p224I9aaa5/BPAW4sss7AMkkGrrB9ZbE3kbQIWASwzz77VDFeSF3ne/N3PY9svdzD+WI8dZTdC828LTmScB9kD4g+OKHllPzES7oHeFuBVWfZvjX/mrNImtgsLvI2H7T9sqRdgbslrbZ9f6EX5v8ZXAkwd+7caHXZRDTtZNz/+3w3y80tCbph2pdrNgGIsrETEVpXyYJv++jx1ks6CVgAHOUivYhtv5z/vlbSEuAIoGDBD81LbTNh5lLc90sYehAyM1DP16BrYdrRQmgJFR3TSpoHnAl8xHZ/kdf0ABnbG/OPjwHOq2S7oXGpbXe040/TjhFCS6r0JOavgE6S0zQAy22fKmkP4Grb84HdgCX59Vngett3Vbjd0EI8+jweuAVyG1DXx6DjQ3U5ZWEI9a6igm97/yLLXwbm5x8/B7y7ku2E1pXrvxU2nE1yiWgUDy6FjiNgxmXJXdUhhLLFblKoW8715Yv9IG9NbON+GH4IhpalGS2EhhQFP9Sv4RVQaOik+/HA7bXPE0KDi4If6td4PezVVbscITSJKPihfnUcDhQ6T9+Nuj9X6zQhNLwo+KFuSR1op8tBvUk7BLqBTph2Iup8f9rxQmg4cW95qGvqOAx2/SsM3pe0ROj4AMpGy6YQJiMKfqh7Uncyc1UIoSJxSieEEFpEFPwQQmgRUfBDCKFFRMEPIYQWEQU/hBBahIq0sK8Lkv4LvJB2jgmYCaxLO8QkRO7aacTMELlrrZLcb7c9q9CKui74jUbSw404SXvkrp1GzAyRu9amKnec0gkhhBYRBT+EEFpEFPzqujLtAJMUuWunETND5K61Kckd5/BDCKFFxB5+CCG0iCj4IYTQIqLgV5mk8yU9JmmlpGWS9kg7UzkkXShpdT77Ekkz0s5UiqTPS3pSUk5S3Q+9kzRP0tOSnpX0vbTzlEPStZLWSnoi7SwTIWlvSfdJWpX/jJyedqZSJHVJekjSo/nMP6r6NuIcfnVJmm57Q/7xt4F32j415VglSToGuNf2qKSfAdg+M+VY45J0MJADrgC+a/vhlCMVJakNeAb4BPAisAI4wfZTqQYrQdKHgT7gN7YPSTtPuSTtDuxu+xFJOwD/AD5Tz79vSQJ6bPdJagceBE63vbxa24g9/CrbXOzzeoCG+I9qe5nt0fzT5UDdzzJie5Xtp9POUaYjgGdtP2d7GPgdsDDlTCXZvh94Pe0cE2X7FduP5B9vBFYBe6abanxO9OWftue/qlo/ouBPAUkXSFoDfAk4J+08k3AK8Ie0QzSZPYE1Wzx/kTovQM1C0r7Ae4C/p5ukNEltklYCa4G7bVc1cxT8SZB0j6QnCnwtBLB9lu29gcXAaemm/b9SufOvOQsYJcmeunIyNwgVWNYQR3+NTFIvcDNwxjZH33XJ9pjtQ0mOsI+QVNXTaDHF4STYPrrMl14P3AGcO4VxylYqt6STgAXAUa6TizsT+F3XuxeBvbd4vhfwckpZWkL+PPjNwGLbt6SdZyJsr5f0Z2AeULUL5rGHX2WSZm/x9FhgdVpZJkLSPOBM4Fjb/WnnaUIrgNmS9pPUARwP3JZypqaVvwB6DbDK9kVp5ymHpFmbR8dJ6gaOpsr1I0bpVJmkm4EDSUaPvACcavuldFOVJulZoBN4Lb9oeb2PLpJ0HHAJMAtYD6y0/cl0UxUnaT7wC6ANuNb2BSlHKknSDcBHSdr1/gc41/Y1qYYqg6QjgQeAx0n+FgF+YPvO9FKNT9Ic4DqSz0cGuMn2eVXdRhT8EEJoDXFKJ4QQWkQU/BBCaBFR8EMIoUVEwQ8hhBYRBT+EEFpEFPwQQmgRUfBDCKFF/A/7p2b8rf13PwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "draw()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
